package org.lc.platform.base.enums;

import lombok.Getter;

/**
 * @author lc
 * @ClassName: AuthResultEnum
 * @Description: 自定义登录返回码枚举
 */
@Getter
public enum AuthResultEnum {

    /**
     * Authorization 授权
     */
    FULL_AUTH(42001, "访问失败，没有相关权限，请检查当前账号是否有效"),
    /**
     * 客户端ID错误
     */
    CLIENT_ERROR(42002, "客户端ID错误，请检查"),
    /**
     * 客户端密码错误
     */
    SECRET_ERROR(42003, "客户端密码错误，请检查"),
    /**
     * 缺少参数 username
     */
    NO_USERNAME(42004, "无效的请求，缺少参数 username"),
    /**
     * 缺少参数 password
     */
    NO_PASSWORD(42005, "无效的请求，缺少参数 password"),
    /**
     * 缺少参数 grant_type
     */
    NO_GRANT_TYPE(42007, "无效的请求，缺少参数 grant_type"),
    /**
     * 无效的请求
     */
    NO_REQUEST(42007, "无效的请求，请检查相关参数"),

    /**
     * 错误的授权方式
     */
    ERROR_GRANT(42008, "错误的授权方式"),

    /**
     * 生成ACCESS_TOKEN失败
     */
    ACCESS_TOKEN_ERROR(42009, "生成ACCESS_TOKEN失败，请稍后再试"),

    /**
     * 生成REFRESH_TOKEN失败
     */
    REFRESH_TOKEN_ERROR(42010, "生成REFRESH_TOKEN失败，请稍后再试"),

    /**
     * 无效的ACCESS_TOKEN
     */
    INVALID_TOKEN(42011, "无效的ACCESS_TOKEN"),


    /**
     * 当前ACCESS_TOKEN已经失效
     */
    INVALID_REFRESH_TOKEN(42012, "当前REFRESH_TOKEN已经失效,请重新登录"),

    /**
     * 当前ACCESS_TOKEN已经失效
     */
    EXP_TOKEN(42013, "当前ACCESS_TOKEN已经失效");


    public final int code;

    public final String msg;

    AuthResultEnum(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }
}
